﻿using System.Collections.Generic;
using HMIS.FrameWork;
using HMIS.FrameWork.DomainBase;
using HMIS.Infrastructure.Core.Authority;


namespace HMIS.Infrastructure.Facade.Authority
{
    public interface IRoleFacade : IDomainFacade
    {
        IList<Role> GetPlist(int start, int limit, string sort, string dir, List<DataFilter> filters, out long total);
		IList<Role> GetPlistAll(int start, int limit, string sort, string dir, List<DataFilter> filters, out long total);
        bool IsFieldExist(string fieldName, string fieldValue, string id);
        void SaveOrUpdate(Role entity);
        void Delete(string id);
        IList<Role> QueryPlist(string query, int start, int limit, out long total);
        Role Get(string id);
        Role Load(string id);
        Role GetByIdWithMenuAndPermissions(string id);
        void SaveRole(Role role, string inheritedRoleId);
    }
}
